package org.jeecg.modules.pipe.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

/**
 * @Description: 管网管段
 * @Author: jeecg-boot
 * @Date:   2024-05-14
 * @Version: V1.0
 */
@Data
@TableName("iot_pipe_pipe_section")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="iot_pipe_pipe_section对象", description="管网管段")
public class Section implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "主键")
    private java.lang.Long id;
	/**上级ID*/
	@Excel(name = "上级ID", width = 15)
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "上级ID")
    private java.lang.Long parentId;
	/**水厂*/
	@Excel(name = "水厂", width = 15)
    @ApiModelProperty(value = "水厂")
    @JsonSerialize(using = ToStringSerializer.class)
    private java.lang.Long plantId;
	/**泵站*/
	@Excel(name = "泵站", width = 15)
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "泵站")
    private java.lang.Long pumpId;
	/**管线类型*/
	@Excel(name = "管线类型", width = 15, dicCode = "pipe_type")
	@Dict(dicCode = "pipe_type")
    @ApiModelProperty(value = "管线类型")
    private java.lang.String pipeType;
	/**道路名称*/
	@Excel(name = "道路名称", width = 15)
    @ApiModelProperty(value = "道路名称")
    private java.lang.String name;
	/**管道流量*/
	@Excel(name = "管道流量", width = 15)
    @ApiModelProperty(value = "管道流量")
    private java.lang.String pipeFlow;
	/**管点设施种类*/
    @Excel(name = "管径", width = 15, dicCode = "facility_types")
    @Dict(dicCode = "facility_types")
    @ApiModelProperty(value = "管点设施种类")
    private java.lang.String facilityTypes;
	/**管段长度*/
	@Excel(name = "管段长度", width = 15)
    @ApiModelProperty(value = "管段长度")
    private java.lang.String pipeLength;
	/**管径*/
	@Excel(name = "管径", width = 15, dicCode = "pipe_diameter")
	@Dict(dicCode = "pipe_diameter")
    @ApiModelProperty(value = "管径")
    private java.lang.String pipeDiameter;
	/**建设高程*/
	@Excel(name = "建设高程", width = 15)
    @ApiModelProperty(value = "建设高程")
    private java.lang.String constructionElevation;
	/**管道流向*/
	@Excel(name = "管道流向", width = 15)
    @ApiModelProperty(value = "管道流向")
    private java.lang.String flowDirection;
	/**起点经度*/
	@Excel(name = "起点经度", width = 15)
    @ApiModelProperty(value = "起点经度")
    private java.lang.String beginLong;
	/**起点纬度*/
	@Excel(name = "起点纬度", width = 15)
    @ApiModelProperty(value = "起点纬度")
    private java.lang.String beginLat;

    /**经过点 [[latLng1], [latLng2], [latLng3]]*/
    private String paths;

    /**终点经度*/
	@Excel(name = "终点经度", width = 15)
    @ApiModelProperty(value = "终点经度")
    private java.lang.String endLong;
	/**终点纬度*/
	@Excel(name = "终点纬度", width = 15)
    @ApiModelProperty(value = "终点纬度")
    private java.lang.String endLat;
	/**颜色*/
    @Excel(name = "颜色", width = 15, dicCode = "pipe_color")
    @Dict(dicCode = "pipe_color")
    @ApiModelProperty(value = "颜色")
    private java.lang.String pipeColor;
	/**备注*/
	@Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private java.lang.String mark;
	/**是否删除*/
	@Excel(name = "是否删除", width = 15)
    @ApiModelProperty(value = "是否删除")
    @TableLogic
    private java.lang.Integer delFlag;
    //状态
    private java.lang.Integer status;
	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private java.util.Date createTime;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
	/**修改时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "修改时间")
    private java.util.Date updateTime;
	/**修改人*/
    @ApiModelProperty(value = "修改人")
    private java.lang.String updateBy;
	/**租户*/
	@Excel(name = "租户", width = 15)
    @ApiModelProperty(value = "租户")
    private java.lang.String tenantId;
}
